package cn.iocoder.yudao.module.currency.controller.admin.rate.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 货币汇率新增/修改 Request VO")
@Data
public class ExchangeRateSaveReqVO {

    @Schema(description = "货币ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1708")
    private Long id;

    @Schema(description = "货币简称", requiredMode = Schema.RequiredMode.REQUIRED, example = "人民币")
    @NotEmpty(message = "货币简称不能为空")
    private String currencyName;

    @Schema(description = "货币编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "CNY")
    @NotEmpty(message = "货币编码不能为空")
    private String currencyCode;

    @Schema(description = "货币符号", requiredMode = Schema.RequiredMode.REQUIRED, example = "¥")
    @NotEmpty(message = "货币符号不能为空")
    private String currencySymbol;

    @Schema(description = "汇率（货币1:US）", requiredMode = Schema.RequiredMode.REQUIRED, example = "7.2")
    @NotNull(message = "汇率（货币1:US）不能为空")
    private BigDecimal exchangeRate;

    @Schema(description = "地区编码")
    private String areaCode;

    @Schema(description = "地区简称", example = "中国")
    private String areaName;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "显示顺序不能为空")
    private Integer currencySort;

    @Schema(description = "状态（0正常 1停用）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态（0正常 1停用）不能为空")
    private Integer status;

    @Schema(description = "备注", example = "备注内容")
    private String remark;

}
